#ifndef IMNETWORKPROCESSORPRIVATE_H
#define IMNETWORKPROCESSORPRIVATE_H

#include <string>

class IMNetworkProcessor;

class IMNetworkProcessorHandlerPrivate
{
public:
    void setNext(const std::string &name);
    void setNext(std::shared_ptr<IMNetworkProcessor> next);
    std::shared_ptr<IMNetworkProcessor> getNext() const;
    std::shared_ptr<IMNetworkProcessor> getStart() const;

private:
    std::shared_ptr<IMNetworkProcessor> _pNext;
    std::shared_ptr<IMNetworkProcessor> _pStart;
};

class IMNetworkProcessorPrivate
{
    IM_CREATE_PROPERTY(std::string, Name)
    IM_CREATE_PROPERTY(std::shared_ptr<IMNetworkProcessor>, Next)
};

#endif